/**
 * Author(s): xuming.Wong <xuming.Wong@gmail.com>
 */

#ifndef __PQ_GameObjectState_H__
#define __PQ_GameObjectState_H__

#include "EnginePrerequisites.h"

#include "LinearMath/btMotionState.h"
#include "LinearMath/btTransform.h"

#include "GameObject.h"

namespace PQEngine
{
	class GameObjectState 
		: public btMotionState
    {
    public:
	    GameObjectState(GameObject *object);
	    ~GameObjectState();
    	
	    virtual void getWorldTransform(btTransform& transform) const;
        virtual void setWorldTransform(const btTransform& transform);	

    private:
		GameObject *_gameObject;
        btTransform  _worldTransform;
	};
}
#endif
